package com.zut.yyzx.controller;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zut.yyzx.dto.CustomerNurseItemDTO;
import com.zut.yyzx.pojo.Customernurseitem;
import com.zut.yyzx.service.CustomernurseitemService;
import com.zut.yyzx.utils.ResultVo;
import com.zut.yyzx.vo.CustomerNurseItemVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/customernurseitem")
@CrossOrigin
//"服务关注管理"
public class CustomernurseitemController {

    @Autowired
    private CustomernurseitemService customernurseitemService;

    @PostMapping("/addItemToCustomer")
    //"为顾客单个/批量添加护理项目"
    public ResultVo addItemToCustomer(@RequestBody List<Customernurseitem> customernurseitems) throws Exception{
        return customernurseitemService.addItemToCustomer(customernurseitems);
    }

    @GetMapping("/removeCustomerLevelAndItem")
    //"移除客户护理级别级联移除用户当前级别的护理项目"
    public ResultVo removeCustomerLevelAndItem(Integer levelId,Integer customerId) throws Exception{
        return customernurseitemService.removeCustomerLevelAndItem(levelId,customerId);
    }

    @GetMapping("/listCustomerItem")
    //"查询某个顾客的护理项目列表-分页"
    public ResultVo<Page<CustomerNurseItemVo>> listCustomerItem(CustomerNurseItemDTO customerNurseItemDTO) throws Exception{
        return customernurseitemService.listCustomerItem(customerNurseItemDTO);
    }


    @PostMapping("/enewNurseItem")
    //"客户续费"
    public ResultVo enewNurseItem(Customernurseitem Customernurseitem) throws Exception{
        customernurseitemService.updateById(Customernurseitem);
        return ResultVo.ok("续费成功");
    }

    @GetMapping("/isIncludesItemCustomer")
    //"判断用户是否已经配置了某个指定项目"
    public ResultVo isIncludesItemCustomer(Integer customerId, Integer itemId) throws Exception{
        QueryWrapper qw=new QueryWrapper();
        qw.eq("item_id",itemId);
        qw.eq("custormer_id",customerId);
        qw.eq("is_deleted",0);
        int row=customernurseitemService.count(qw);
        if(row>0){
            return ResultVo.fail("当前用户已存在该项目");
        }
        return ResultVo.ok("");

    }
    @GetMapping("/removeCustomerItem")
    //"移除客户护理项目"
    public ResultVo removeCustomerItem(Integer id) throws Exception{
        Customernurseitem customernurseitem=new Customernurseitem();
        customernurseitem.setIsDeleted(1);
        customernurseitem.setId(id);
        customernurseitemService.updateById(customernurseitem);
        return ResultVo.ok("移除成功");
    }
}
